home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / sr / info.lha / info-sr.1992 / 000004_shartley@king.mcs.drexel.edu _Mon Apr 13 07:28:25 1992.msg < prev    next >
Text File  |  1993-07-24  |  2KB  |  66 lines

  1. Received: from mcs.drexel.edu (KING.MCS.DREXEL.EDU) by optima.cs.arizona.edu (4.1/15)
  2.     id AA25378; Mon, 13 Apr 92 07:28:25 MST
  3. Received: by mcs.drexel.edu (4.1/SMI-4.0)
  4.     id AA02957; Mon, 13 Apr 92 10:27:49 EDT
  5. Date: Mon, 13 Apr 92 10:27:49 EDT
  6. From: shartley@KING.MCS.DREXEL.EDU (Stephen J. Hartley)
  7. Message-Id: <9204131427.AA02957@mcs.drexel.edu>
  8. To: info-sr@cs.arizona.edu
  9. Subject: a little puzzling
  10.  
  11.   In converting some of my example programs from SR 1.1 to SR 2.0, I came
  12. across the following, which was a little puzzling.  Is there an explanation?
  13. If the
  14.     process do_it
  15.     end do_it
  16. pair is left out of the program below, then only one helper resource seems
  17. to be created no matter the value of number.
  18.  
  19. Stephen J. Hartley, Visiting Assistant Professor, office ph: (215) 895-2678
  20. Math and Computer Science, Drexel University, Philadelphia, PA  19104
  21. shartley@mcs.drexel.edu
  22.  
  23. ===============================================================================
  24.  
  25. resource helper(id : int)
  26.  
  27.   write("helper", id, "is alive")
  28.  
  29. # The "process" below is necessary.  Without it, no matter what "number" is
  30. # below in "resource user", only one helper is created and running.
  31.   process do_it
  32.  
  33.     var napping : int
  34.  
  35.     do true ->
  36.       napping := int(random(3000))
  37.       writes("age=", age(), ", helper ", id, " is napping for ",
  38.         napping, "ms\n")
  39.       nap(napping)
  40.     od
  41.  
  42.   end do_it
  43.  
  44. end helper
  45.  
  46. resource user
  47.  
  48.   import helper
  49.  
  50. body user()
  51.  
  52.   const NUMBER := 5
  53.   var number : int := NUMBER
  54.   var hc : cap helper
  55.  
  56. # const seeded := 42.0  # Change to 0.0 or leave out these
  57. # seed(seeded)          # two lines altogether to get
  58.                         # irreproducible random nuumbers
  59.   getarg(1, number)
  60.  
  61.   write("resource user starting", number, "helpers")
  62.   fa i := 1 to number ->
  63.     hc := create helper(i)
  64.   af
  65.  
  66. end user